#include<bits/stdc++.h>
using namespace std;

const int N=300005;
int n,m;
int arr[N][2];
set<int> mys[N];
int res[N];

int main(){
    scanf("%d%d",&n,&m);
    int n1,n2;
    for(int i=1;i<=m;i++){
        scanf("%d%d",&n1,&n2);
        arr[i][0]=n1;arr[i][1]=n2;
        mys[n1].insert(i);
        mys[n2].insert(i);
    }
    memset(res,0,sizeof(res));
    for(int i=1;i<=m;i++){
        n1 = arr[i][0];
        n2 = arr[i][1];
        if(mys[n1].size()+mys[n2].size()==m+1){
            continue;
        }
        auto p1=mys[n1].begin();
        auto p2=mys[n2].begin();
        for(int j=1;j<=m;j++){
            bool tag=false;
            if(p1!=mys[n1].end()&&*p1==j){
                p1++;
                tag=true;
            }
            if(p2!=mys[n2].end()&&*p2==j){
                p2++;
                tag=true;
            }
            if(!tag){
                res[i]=j;
                res[j]=i;
                break;
            }
        }
    }
    for(int i=1;i<=m;i++){
        printf("%d ",res[i]);
    }
    return 0;
}